package br.com.android.financas.repositorio;

import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.Map;

import org.joda.time.DateTime;

import br.com.android.financas.MesTotal;
import br.com.android.financas.model.Apresentavel;
import br.com.android.financas.model.Receita;

public interface RepositorioReceita extends Repositorio<Receita> {

	double getTotal();
	double getTotal(Date mes);
	double getTotal(Date ini, Date fim);
	List<MesTotal> getTotaisMensais();


	Map<DateTime, Double> getReceitasMensais(Date ini,Date fim);
	Map<MesTotal, List<Apresentavel>> getReceitasMensais();

	void excluir(Receita receita, Date aPartir)throws SQLException;
	void excluir(Receita receita, boolean todos) throws SQLException;

	void atualizarGrupo(Receita receita, Date aPartir)throws SQLException;
	void atualizarGrupo(Receita receita) throws SQLException;
	List<Receita> getReceitas(Date ini, Date fim);
	List<Receita> getReceitas(Date ini);

}
